package net.lzzy.practicesapi1;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
 * @author lyz
 */ //该类主要用于配置文件上传和静态资源的处理。
//        通过@Value注解，从配置文件中读取相关属性的值。
//        配置了文件上传的路径、整体文件上传的最大尺寸和每个文件上传的最大尺寸。
//        配置了静态资源的处理，使系统能够找到并提供指定路径下的静态资源。
@Component
public class PracticesMvcConfigure  implements WebMvcConfigurer {
    @Value("${user.pic}")
    private String path;
    @Value("${pic.size}")
    private int maxPicSize;
    @Value("${pic.per.size}")
    private int maxPerSize;
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("/**")
                .addResourceLocations("file:/"+path,
                        "classpath:/static",
                        "classpath:/public/",
                        "classpath:/webapp/");
    }
    @Bean
    public CommonsMultipartResolver multipartResolver(){
        CommonsMultipartResolver resolver=new CommonsMultipartResolver();
        resolver.setMaxUploadSize(maxPicSize);
        //resolver.setMaxUploadSizePerFile(maxPicSize);
        return resolver;
    }
}
